#include <iostream>
#include "task.h"
using namespace std;

#ifndef _TASK_Queue_H
#define _TASK_Queue_H

struct TaskNode;
typedef struct TaskNode TaskNode;
typedef TaskNode* PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;
typedef Task ElementType;

List makeEmptyList();
Position makeATaskNode(Task task);
Position First(List L);
Position Last(List L);
int isEmpty(List L);
void deleteFirst(List L);
void insertElement(ElementType x, List L, Position P);
void moveFirstToLast(List L);


struct TaskNode {
	ElementType Element;
	Position Next;
	Position Prev;
};

#endif // !_SINGLE_LIST_H

